import Vue from 'vue'
import App from './App.vue'
//导入路由
import router from './router'
//导入状态管理
import store from './store'
//引入写好的filters文件
import * as filters from '@/filters'      
// 使用循环注册的方式
import * as directives from '@/directives'
// 导入mock，虚拟数据
import './mock/index.js'
import i18n from '@/i18n/index.js' //国际化
//引入全局样式
// import "@/styles/global.scss";

//引入图标
import "@/assets/icons/index.js";
//引入字体图标
import "@/assets/fonts/index.scss";
// 导入全局组件注册
import '@/plugins/global-components.js';
 


//批量导入全局方法
import {extendVueWithGlobalProperties } from '@/utils/extendVue';  
  
// 调用函数以添加全局方法  
extendVueWithGlobalProperties();  

Vue.config.productionTip = false;




// 开始遍历注册-自定义指令
Object.keys(directives).forEach(key => {
  Vue.directive(key, directives[key])
})

// 开始遍历注册-过滤器
Object.keys(filters).forEach(key => {
  Vue.filter(key, filters[key]);
})

new Vue({
  router,
  store,
  i18n, //使用国际化
  render: h => h(App)
}).$mount('#app');
